Computing systems sharing various infrastructure and software components have many desirable attributes; however, one of the challenges of using them is to support applications, often mission-critical applications, while taking advantage of low cost “commodity” infrastructure. Such environments can be thought of as “commodity-based” infrastructures in which heterogeneous computing components are amalgamated into a common computing system.
Such computing environments may result in a heterogeneous collective of commodity components, each needing access to applications, data, hardware resources, and/or other computing resources, across the computing system. Often, operating such environments requires developers to possess and/or utilize a variety of commodity skills and tools.
What is needed is a computing system in which applications are easy to create and/or execute, without losing the advantages of either the common infrastructure paradigm or the individual commodity components inhabiting the common infrastructure. What is needed is way to keep features of common infrastructure computing while enabling commodity skills and tools to effectively operate applications of many types, with focus in some cases on mission critical applications. What is needed is an automated manner in which an application that spans heterogeneous computing components can be commissioned as a single object, as opposed to manually commissioning the individual services and computing components.
Traditional integrated operating systems include all service components for a computing system into an application execution environment, file and storage management service, database management service, messaging service, and so on. Such, integrated operating systems execute on either a dedicated physical platform or on a virtualized platform managed by a hypervisor.
Depending on the operating system deployed onto a platform, the services, and the manner in which they execute, may vary. Management of an integrated operating system is often accomplished by management tools also integrated into the operating system itself. In well-known networking environments, there may be a variety of integrated operating systems deployed, thereby resulting in a “heterogeneous” environment.
What is needed is a way to pool, manage, control, and/or allocate, the varying services of the disparate operating systems in a heterogeneous environment.
Storing data on a computing device, in a reusable format, is well-known in the art. Once stored, adding and updating data is now commonly used in transaction processing by online transaction processing (“OLTP”) technologies. As transaction processing demands rise, emphasis is shifting from data storage and retrieval to implementing tools for business analytics.
What is needed is a common infrastructure capable of storing, distributing, and retrieving data, while also efficiently operating within a common infrastructure's heterogeneous and potentially geographically-dispersed environments, to perform data analytics. What is also needed is a way for data to be stored according to various database models.
In known enterprise systems or transactional applications, utilizing a variety different database models, e.g., network or hierarchical, the higher-level applications must organize the underlying data so that the data complies with the various database models.
What is needed is a way for applications and/or databases to store and/or utilize data, regardless of database models, without altering the applications, databases, and/or data.
Transactional applications may be built on a variety of models, e.g., functioning on programming that is stored a database with a network model, but storing and retrieving data in database with a relational model. Data is often copied, or replicated, between these databases to ensure the data is in the right model.
What is needed is way to mitigate or eliminate the need to extract, transform, and/or load data between databases. What is needed is a way for devices to view and/or interact with “live” data without the need for copies.